package clang.ir;

public class ConstIntegerLiteral extends Node {

    private long value;

    public long getValue() {
        return value;
    }
    
    @Override
    public String getCLangName() {
        return toCLangIntegerLiteral(value);
    }

    public ConstIntegerLiteral(long value) {
        this.value = value;
        this.storageClass = StorageClass.INTERNAL_UNDECLARED;
    }

    @Override
    public String getRuntimeExpression() {
        return toCLangIntegerLiteral(value);
    }

    @Override
    public boolean runtimeExpressionIsComposite() {
        return false;
    }
    
    @Override
    public void buildEvaluationIndex(Node parent) {
        evaluationIndex = parent.getEvaluationIndex() + 1;
    }
}
